USD_VS_RMB = 6.77

def is_valid_currency_format(currency_str_value):
    ""“验证货币格式是否正确”""
    # 正则表达式，匹配格式为数字+USD或数字+CNY
    pattern = r'^\d+(\.\d+)?USD$|^\d+(\.\d+)?CNY$'
    return re.match(pattern, currency_str_value) is not None

def convert_currency(currency_str_value, usd_vs_rmb):
    ""“货币转换函数”""
    if not is_valid_currency_format(currency_str_value):
        return None, "输入的货币格式不正确，请按照数字+USD或数字+CNY的格式输入。"

    unit = currency_str_value[-3:]
    try:
        value = float(currency_str_value[:-3])
    except ValueError:
        return None, "输入的金额不是有效的数字，请重新输入。"

    if unit == 'CNY':
        return value / usd_vs_rmb, "美元（USD）"
    elif unit == 'USD':
        return value * usd_vs_rmb, "人民币(CNY)"
    else:
        return None, "目前版本尚不支持该种货币！"

def main():
    ""“主函数，用于处理用户输入和循环逻辑”""
    while True:
        currency_str_value = input('请输入带单位的货币金额（CNY/USD）： ')
        result, message = convert_currency(currency_str_value, USD_VS_RMB)
        if result is not None:
            print(f'转换后的{message}金额是：{result:.2f}')
        else:
            print(message)

        continue_converting = input("是否继续转换货币？(y/n): ").strip().lower()
        if continue_converting != 'y':
            break

    print("程序已退出。")

if __name__ == "__main__":
    main()